Skip to content

Score 2774 traceability#484

Open
FScholPer wants to merge 8 commits intomainfrom
score-2774-traceability
Open

Score 2774 traceability#484
FScholPer wants to merge 8 commits intomainfrom
score-2774-traceability

Conversation

@FScholPer
Copy link
Copy Markdown
Contributor

-> see eclipse-score/score#2774

Frank Scholter Peres frank.scholter_peres@mercedes-benz.com, Mercedes-Benz Tech Innovation GmbH
Provider Information

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 13, 2026

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //src:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.4.2) and connecting to it...
INFO: Invocation ID: ce0886df-763b-4f7b-bd62-ff5ce5642cb8
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
WARNING: Target pattern parsing failed.
ERROR: Skipping '//src:license-check': no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
ERROR: no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
INFO: Elapsed time: 5.167s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions
Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

Comment thread scripts_bazel/traceability_coverage.py
Comment thread docs/how-to/test_to_doc_links.rst
help="Fail if a testcase references an unknown requirement ID",
)
parser.add_argument(
"--json-output",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the json output for?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It generates a summary of the result as json. The parameter is just to change the path

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but what for? I see two use cases:

  1. Generate an overview in the documentation.
  2. CI quality gate.

Neither of them uses this json file.

If there is some use for it, then there should be a Bazel rule/target to consume it. However, it looks like this code should rather be removed because nobody needs it.

)
)
parser.add_argument(
"--needs-json",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should simply be mandatory and there is no need to "search" for needs.json.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats just if the path differs to increase flexibility

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it is a good idea to guess Bazel paths. Make it mandatory and explicit to loosen coupling between Script and Bazel.

Copy link
Copy Markdown
Member

@AlexanderLanin AlexanderLanin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see discussion in #485

@FScholPer
Copy link
Copy Markdown
Contributor Author

closed #485 @AlexanderLanin can you please check again?

Copy link
Copy Markdown
Contributor

@MaximilianSoerenPollak MaximilianSoerenPollak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments for things I noticed.

Will take another look after lunch.

Overall looks like genuine good work that we can build upon.

Comment thread src/extensions/score_metamodel/traceability_metrics.py Outdated
Comment thread src/extensions/score_metamodel/traceability_metrics.py
Comment thread src/extensions/score_metamodel/traceability_metrics.py
Comment thread src/extensions/score_metamodel/traceability_metrics.py
Comment thread src/extensions/score_metamodel/traceability_metrics.py
Comment thread docs/how-to/test_to_doc_links.rst
Comment thread docs/internals/requirements/implementation_state.rst
Comment thread scripts_bazel/tests/traceability_coverage_test.py
Comment thread scripts_bazel/tests/traceability_coverage_test.py
Comment thread docs/how-to/test_to_doc_links.rst
Comment thread docs/reference/commands.md Outdated
Comment thread docs/how-to/test_to_doc_links.rst
Comment thread docs/how-to/test_to_doc_links.rst
Comment thread docs/how-to/test_to_doc_links.rst Outdated
Comment thread scripts_bazel/traceability_coverage.py
Comment thread .gitignore
@MaximilianSoerenPollak
Copy link
Copy Markdown
Contributor

Also a general thing.

If there is any 'substantial' or partial generation from AI please add the disclaimer in the header.
According to 'eclipse' something to the lines of this should be fine:

# ╓                                                          ╖
# ║ Some portions generated by <AI Model Name>               ║
# ╙                                                          ╜

Model name meaning like 'Gpt' or 'Copilot' or 'Claude' etc.

@FScholPer
Copy link
Copy Markdown
Contributor Author

Also a general thing.

If there is any 'substantial' or partial generation from AI please add the disclaimer in the header. According to 'eclipse' something to the lines of this should be fine:

# ╓                                                          ╖
# ║ Some portions generated by <AI Model Name>               ║
# ╙                                                          ╜

Model name meaning like 'Gpt' or 'Copilot' or 'Claude' etc.

I will add. But we should think about using tools like https://github.com/git-ai-project/git-ai in general

@MaximilianSoerenPollak
Copy link
Copy Markdown
Contributor

I will add. But we should think about using tools like https://github.com/git-ai-project/git-ai in general

Probably might be worth a look to see if we could use that. I can bring it up in infra.

@MaximilianSoerenPollak
Copy link
Copy Markdown
Contributor

@FScholPer I would propose that I can take these Ideas & Proposals that you have made in this PR and re-implement them into Docs-As-Code so they fit a better architecturally and makes sense with how testcases etc. actually behave & are created inside the DaC frameworks that deal with it.

I fear it would be a lot more work to merge this PR and then rebuild it / change it quiet heavily later when we want to integrate it.

Do you think this would make sense and is a good way to move forward with this issue?

@AlexanderLanin @a-zw please also advice here in your opinion what would be a good approach.

@AlexanderLanin
Copy link
Copy Markdown
Member

to me it sounds like we need to discuss the goals first, then how to achieve it. Thats the reason why this mixes extensions with custom executables and no-one really understands why and how it should look like.

FScholPer and others added 7 commits April 17, 2026 11:07
Co-authored-by: Maximilian Sören Pollak <maximilian.pollak@qorix.com>
Signed-off-by: Frank Scholter Peres(MBTI) <145544737+FScholPer@users.noreply.github.com>
Co-authored-by: Andreas Zwinkau <95761648+a-zw@users.noreply.github.com>
Signed-off-by: Frank Scholter Peres(MBTI) <145544737+FScholPer@users.noreply.github.com>
@FScholPer FScholPer force-pushed the score-2774-traceability branch from 4585a27 to a364257 Compare April 17, 2026 11:08
@FScholPer
Copy link
Copy Markdown
Contributor Author

to me it sounds like we need to discuss the goals first, then how to achieve it. Thats the reason why this mixes extensions with custom executables and no-one really understands why and how it should look like.

Goals for where 1. check linking of requirements to code/tests in ci 2. add dashboards in all modules. Or what goals do you have in mind?

@AlexanderLanin
Copy link
Copy Markdown
Member

@FScholPer we've discussed this PR, unfortunately we missed you. So here is our interpretation. Let's have a call next week.

The goals here are:

  • unify statistics/metrics across modules
  • provide thresholds for acceptable values, especially for CI
  • provide a dedicated executable / bazel target??

Here is an idea, which simplifies the design:
image

What do you think? (May be not self explanatory)
Do you want to give that a try?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Improvement: Introduce traceability coverage checker and CI reporting mode

4 participants